package com.group01.community.service;

import com.group01.community.entity.SysDept;
import com.baomidou.mybatisplus.extension.service.IService;
import com.group01.community.entity.SysUser;
import com.group01.community.entity.vo.SysDeptVo;
import com.group01.community.entity.vo.SysMenuVo;
import com.group01.community.entity.vo.SysUserInfoVo;

import java.util.List;

/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author guoyuan
 * @since 2025-05-01
 */
public interface SysDeptService extends IService<SysDept> {
    /**
     * 根据用户名字查询三级菜单
     * @param deptName
     * @return
     */
    List<SysDeptVo> getDeptsByName(String deptName);

    /**
     * 查询所有分级菜单(四级菜单+模糊查询)
     * @return
     */
    List<SysDeptVo> getDeptList(String deptName, String status);


    /**
     * 根据菜单名称获取菜单信息
     * @param deptName
     * @return
     */
    SysDept getDeptByName(String deptName);


    /**
     * 添加菜单
     * @param sysDept
     * @return
     */
    void addDept(SysDept sysDept);


    /**
     * 更新菜单
     * @param sysDept
     * @return
     */
    void updateDept(SysDept sysDept);


    /**
     * 删除菜单
     * @param deptId
     * @return
     */
    void deleteDept(Long deptId);


    /**
     * 根据角色id查询 岗位权限
     * @param roleId
     * @return
     */
    List<SysDept> getDeptListByRoleId(String roleId);/**
     * 根据部门名称模糊查询信息
     * @param deptName
     * @return
     */
    List<SysDept> getDeptByDeptName(String deptName);

    /**
     * 根据用户的角色模糊查询部门名称
     * @param
     * @return
     */
    List<SysDeptVo> getDeptByDeptNameAndRole(SysUser sysUser);



    List<SysDeptVo> getDeptLists(String deptName, String status);

}

